package leetcode.editor.cn;

//复数 可以用字符串表示，遵循 "实部+虚部i" 的形式，并满足下述条件： 
//
// 
// 实部 是一个整数，取值范围是 [-100, 100] 
// 虚部 也是一个整数，取值范围是 [-100, 100] 
// i² == -1 
// 
//
// 给你两个字符串表示的复数 num1 和 num2 ，请你遵循复数表示形式，返回表示它们乘积的字符串。 
//
// 
//
// 示例 1： 
//
// 
//输入：num1 = "1+1i", num2 = "1+1i"
//输出："0+2i"
//解释：(1 + i) * (1 + i) = 1 + i2 + 2 * i = 2i ，你需要将它转换为 0+2i 的形式。
// 
//
// 示例 2： 
//
// 
//输入：num1 = "1+-1i", num2 = "1+-1i"
//输出："0+-2i"
//解释：(1 - i) * (1 - i) = 1 + i2 - 2 * i = -2i ，你需要将它转换为 0+-2i 的形式。 
// 
//
// 
//
// 提示： 
//
// 
// num1 和 num2 都是有效的复数表示。 
// 
// Related Topics 数学 字符串 模拟 👍 65 👎 0

//Java：复数乘法
public class ComplexNumberMultiplication_537 {
    public static void main(String[] args) {
        Solution solution = new ComplexNumberMultiplication_537().new Solution();
        // TO TEST
        String str = "123456";
        System.out.println(str.indexOf("3"));
    }

    //leetcode submit region begin(Prohibit modification and deletion)
    class Solution {
        public String complexNumberMultiply(String num1, String num2) {
            int[] nums = new int[4];
            int length1 = num1.length(), length2 = num2.length(), index1 = num1.indexOf("+"), index2 = num2.indexOf("+");
            int a = Integer.parseInt(num1.substring(0, index1));
            int b = Integer.parseInt(num1.substring(index1 + 1, length1 - 1));
            int c = Integer.parseInt(num2.substring(0, index2));
            int d = Integer.parseInt(num2.substring(index2 + 1, length2 - 1));
            int x = a * c - b * d, y = a * d + b * c;
//        StringBuffer res = new StringBuffer();
//        return res.append(x).append("+").append(y).append("i").toString();
            return x + "+" + y + "i";
        }
    }
//leetcode submit region end(Prohibit modification and deletion)

}
